package cn.px.dao.mapper.store;

import cn.px.dao.dto.store.SpareStoreDTO;
import cn.px.dao.config.MyMapper;
import cn.px.dao.entity.store.SpareStore;
import cn.px.dao.vo.query.store.SpareStoreVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import java.util.List;


/**
 * @Description 备件库存 mapper
 * @author 品讯科技
 * @date 2024-08
 * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
 */
@Component
public interface SpareStoreMapper extends MyMapper<SpareStore> {
    /**
     * 分页查询
     * @param dto
     * @return
     */
    List<SpareStoreVO> selectList(SpareStoreDTO dto);

    /**
     * 查看详情
     * @param id
     * @return
     */
    SpareStoreVO selectDetail(@Param("id") Object id);

    /**
     * 查看某个备件的库存总数
     * @param id
     * @return
     */
    Integer selectCurrentStock(@Param("id") Object id);

    /**
     * 备件仓库库存汇总
     * @param record
     * @return
     */
    List<SpareStoreVO> selectTotalStock(SpareStoreDTO record);

    /**
     * 批量更新
     *
     * @param list
     * @return
     */
    void updateBatch(List<SpareStore> list);

    /**
     * 批量更新备件id
     *
     * @param list
     * @return
     */
    void updateSpareIdsBatch(List<SpareStore> list);

    /**
     * 批量更新：仓库整仓迁移
     *
     * @param list
     * @return
     */
    void updateBatchByStoreChange(List<SpareStore> list);
}
